﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MbUnit.Framework;

namespace NotMyself.Oxite.Data.LinqToNHibernateProvider.Tests
{
    public static class AssertWrappers
    {
        public static void ShouldEqual<T>(this T actual, T expected)
        {
            Assert.AreEqual(expected, actual);
        }

        public static void ShouldNotEqual<T>(this T actual, T notExpected)
        {
            Assert.AreNotEqual(notExpected, actual);
        }

        //public static void ShouldNotBeTheSameAs<T>(this T actual, T notExpected)
        //{
        //    Assert.AreNotSame(notExpected, actual);
        //}

        //public static void ShouldBeTheSameAs<T>(this T actual, T expected)
        //{
        //    Assert.AreSame(expected, actual);
        //}

        public static void ShouldBeFalse(this bool condition)
        {
            Assert.IsFalse(condition);
        }

        public static void ShouldBeAnInstanceOfType(this object value, Type expectedType)
        {
            Assert.IsInstanceOfType( expectedType, value);
        }

        public static void ShouldNotBeAnInstanceOfType(this object value, Type wrongType)
        {
            Assert.IsNotInstanceOfType(wrongType, value);
        }

        public static void ShouldNotBeNull(this object value)
        {
            Assert.IsNotNull(value);
        }

        public static void ShouldBeNull(this object value)
        {
            Assert.IsNull(value);
        }

        public static void ShouldBeTrue(this bool condition)
        {
            Assert.IsTrue(condition);
        }
    }
}
